Architectures generally refer to how a system is designed and how the components of a system operate with each other. Reference models for computer architectures typically identify various layers through which a communication or data will pass or in which computer software or hardware may operate. Additionally, reference models may identify how various computer software and hardware components undertake functions within a layer. Some reference models are known as protocols.
For example, the Open Systems Interconnection reference model (OSIRM) identifies seven layers. They are the application, presentation, session, transport, network, data link, and physical layers. The application layer supports user functions, such as file transfers and transaction processing. The presentation layer transfers syntaxes for character coding. The session layer coordinates services, dialogue, and synchronization. The transport layer coordinates communications for reliable end-to-end communication. The network layer delivers data within a sub-network and provides addressing and internetworking. The data link layer deals with data transmission between two points. The physical layer provides bit transmission over a physical connection.
Other layered models are referred to as N-tier models. N-tier models use separate layers to divide functionality of an architecture. In an N-tier model, data or a communication passes through each layer before getting to another layer for processing. Thus, in a three tier model, data must pass through the second layer to get from the first layer to the third layer. One such model may include a graphical user interface (GUI) layer, an application controller layer, a business function objects layer, a domain layer, and a persistence layer.
Current reference models are static and require compliant objects to relay communications, such as control messages, requests, and/or data, from one layer to another in spite of the fact that the relaying layer may perform no useful function. This requirement results in unnecessary lines of code required to relay communications and clutters compliant objects and requires unnecessary processing cycles. Thus, new systems and methods are needed to ameliorate the inherent inefficiencies associated with the current reference models.